package com.atguigu.linkedlist;

//两两交换链表中的节点
public class SwapNodesInPairs {
    //以[1,2,3,4]为例
    public ListNode swapPairs(ListNode head) {
        if (head == null || head.next == null) {
            return head;
        }
        //保存2
        ListNode tmp = head.next;
        //递归，递归完3,4交换顺序有4->3，得到1->4->3
        head.next = swapPairs(tmp.next);
        //将2指向1,得到2->1->4->3
        tmp.next = head;

        return tmp;
    }
}
